Middle tier applications, also referred to as application servers, typically operate on top of a wide range of existing enterprise systems such as database management systems, transaction monitors, and naming and directory services. Many of these application servers are built based on standard specifications such as the Java 2 Platform, Enterprise Edition (J2EE) to provide portability and scalability to applications managing and accessing various enterprise systems.
J2EE, for example, defines a specification for developing enterprise applications to follow as a standard. J2EE bases the enterprise applications on standardized, modular components, by providing a set of services to those components, and by handling many details of application behavior automatically. J2EE includes support for Enterprise JavaBeans (EJB) components, Java Servlets API, JavaServer Pages, and Extended Marked-up Language (XML) technology.
Accordingly, an application built conforming to the J2EE standard specification may be deployed to an application server that supports the J2EE standards, thus allowing the deployed application to manage and access various resources provided by the underlying enterprise systems via the application server. Briefly, deployment is the process of distributing and configuring various part of application programs such as J2EE applications to appropriate locations in application servers.
Although J2EE provides standard specifications for application servers and applications running on these application servers, each application must be deployed according to vendor or application server provider's specific criteria. In most cases, each vendor supplying the application server also provides deployment methods and tools for deploying applications to its application server specifically. These vendor provided tools frequently require users to perform multiple manual steps for assembling and deploying applications. For example, IBM Websphere provides Websphere Assembly Tool to assemble and manually generate the JNDI XMI files, and Websphere Admin Console for the actual deployment. Accordingly, what is needed is a system and method that allows users to deploy as well as redeploy program files to a target application server using a single flow of transaction.